package app;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public abstract class FConsultaBase extends JFrame implements ActionListener {
    protected GridBagConstraints restricoes = new GridBagConstraints();
    protected JPanel pnlFormulario = new JPanel();
    protected JPanel pnlTopo = new JPanel();
    protected JPanel pnlBaixo = new JPanel();
    private JTextField txtPesquisa;
    private JComboBox cbPesquisa;
    private JLabel lblPesquisa;
    private JButton	btnPesquisa, btnIncluir, btnAlterar, btnMostrar, btnExcluir, btnSair;

    public FConsultaBase() {
        addWindowListener(new WindowAdapter() {

            @Override
            public void windowClosing(WindowEvent e) {
                dispose();
            }
        });
        setSize(500, 330);
        setLocation(0, 0);
        setTitle("Consulta");
        

        pnlFormulario.setLayout(new BorderLayout());
        pnlTopo.setLayout(new GridBagLayout());
        pnlBaixo.setLayout(new GridBagLayout());

        // <editor-fold defaultstate="collapsed" desc="Painel topo">
        lblPesquisa = new JLabel("Consultar por:");
		restricoes.gridx = 0; // define coluna
		restricoes.gridy = 0; // define linha
		pnlTopo.add(lblPesquisa, restricoes);

		cbPesquisa  = new JComboBox();
        restricoes.gridx = 1; // define coluna
		pnlTopo.add(cbPesquisa, restricoes);

		txtPesquisa  = new JTextField(20);
        restricoes.gridx = 2; // define coluna
		pnlTopo.add(txtPesquisa, restricoes);

		btnPesquisa  = new JButton("Pesquisar");
        restricoes.gridx = 3; // define coluna
		pnlTopo.add(btnPesquisa, restricoes);
        // </editor-fold>

        // <editor-fold defaultstate="collapsed" desc="painel sul">
        btnIncluir = new JButton("Incluir");
		restricoes.gridx = 0; // define coluna
		restricoes.gridy = 0; // define linha
        restricoes.anchor = GridBagConstraints.EAST;
		pnlBaixo.add(btnIncluir, restricoes);

		btnAlterar  = new JButton("Alterar");
        restricoes.gridx = 1; // define coluna
		pnlBaixo.add(btnAlterar, restricoes);

		btnMostrar  = new JButton("Mostrar");
        restricoes.gridx = 2; // define coluna
		pnlBaixo.add(btnMostrar, restricoes);

		btnExcluir  = new JButton("Excluir");
        restricoes.gridx = 3; // define coluna
		pnlBaixo.add(btnExcluir, restricoes);

		btnSair  = new JButton("Sair");
        restricoes.gridx = 4; // define coluna
		pnlBaixo.add(btnSair, restricoes);
        // </editor-fold>

        // <editor-fold defaultstate="collapsed" desc="add paineis">
        btnPesquisa.addActionListener(this);
        cbPesquisa.addActionListener(this);
        btnAlterar.addActionListener(this);
        btnExcluir.addActionListener(this);
        btnIncluir.addActionListener(this);
        btnMostrar.addActionListener(this);
        btnSair.addActionListener(this);

        pnlFormulario.add(pnlTopo,BorderLayout.NORTH);
        //tabela vai aqui.....
        pnlFormulario.add(pnlBaixo,BorderLayout.SOUTH);

        Container P = getContentPane();
		P.add(pnlFormulario);
        // </editor-fold>
    }

    public void actionPerformed(ActionEvent e) {
        Object origem = e.getSource();

        if (origem == btnSair){
            dispose();
        }
        else if(origem == btnPesquisa)
        {
            btnPesquisaClick();
        }
        else if(origem == btnAlterar)
        {
            btnAlterarClick();
        }
        else if(origem == btnExcluir)
        {
            btnExcluirClick();
        }
        else if(origem == btnIncluir)
        {
            btnIncluirClick();
        }
        else if(origem == btnMostrar)
        {
            btnMostrarClick();
        }
        else if (origem == cbPesquisa){
            cbPesquisaClick();
        }
    }

    public abstract void btnPesquisaClick();
    public abstract void btnAlterarClick();
    public abstract void btnExcluirClick();
    public abstract void btnIncluirClick();
    public abstract void btnMostrarClick();
    public abstract void cbPesquisaClick();


}
